/**
 * Copyright &copy; 2012-2016 <a href="https://github.com/thinkgem/jeesite">JeeSite</a> All rights reserved.
 */
package com.thinkgem.jeesite.modules.work.entity;

import org.hibernate.validator.constraints.Length;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;

import com.thinkgem.jeesite.common.persistence.DataEntity;

/**
 * 工作任务Entity
 * @author alex
 * @version 2017-05-04
 */
public class WorkTask extends DataEntity<WorkTask> {
	
	private static final long serialVersionUID = 1L;
	private String workNo;		// 工作号
	private String workType;		// 工作类型
	private String dealBy;		// 执行人ID
	private String waveId;		// 波次ID
	private String waveNo;		// 波次号
	private String dealName;		// 执行人
	private String proId;		// 商品ID
	private String proName;		// 商品名称
	private String origLocationId;		// 原货位ID
	private String origLocationName;		// 原货位
	private String targetLocationId;		// 目标货位ID
	private String targetLocationName;		// 目标货位
	private String orderNo;		// 参考单号
	private String origNum;		// 原数量
	private String targetNum;		// 交接数量
	private Date distrDate;		// 分配时间
	private Date receiveDate;		// 领取时间
	private Date endDate;		// 完成时间
	private String status;		// 状态
	private String createName;		// 创建人
	private String updateName;		// 更新人
	
	public WorkTask() {
		super();
	}

	public WorkTask(String id){
		super(id);
	}

	@Length(min=0, max=30, message="工作号长度必须介于 0 和 30 之间")
	public String getWorkNo() {
		return workNo;
	}

	public void setWorkNo(String workNo) {
		this.workNo = workNo;
	}
	
	@Length(min=0, max=2, message="工作类型长度必须介于 0 和 2 之间")
	public String getWorkType() {
		return workType;
	}

	public void setWorkType(String workType) {
		this.workType = workType;
	}
	
	@Length(min=0, max=30, message="执行人ID长度必须介于 0 和 30 之间")
	public String getDealBy() {
		return dealBy;
	}

	public void setDealBy(String dealBy) {
		this.dealBy = dealBy;
	}
	
	@Length(min=0, max=30, message="波次ID长度必须介于 0 和 30 之间")
	public String getWaveId() {
		return waveId;
	}

	public void setWaveId(String waveId) {
		this.waveId = waveId;
	}
	
	@Length(min=0, max=30, message="波次号长度必须介于 0 和 30 之间")
	public String getWaveNo() {
		return waveNo;
	}

	public void setWaveNo(String waveNo) {
		this.waveNo = waveNo;
	}
	
	@Length(min=0, max=30, message="执行人长度必须介于 0 和 30 之间")
	public String getDealName() {
		return dealName;
	}

	public void setDealName(String dealName) {
		this.dealName = dealName;
	}
	
	@Length(min=0, max=30, message="商品ID长度必须介于 0 和 30 之间")
	public String getProId() {
		return proId;
	}

	public void setProId(String proId) {
		this.proId = proId;
	}
	
	@Length(min=0, max=50, message="商品名称长度必须介于 0 和 50 之间")
	public String getProName() {
		return proName;
	}

	public void setProName(String proName) {
		this.proName = proName;
	}
	
	@Length(min=0, max=30, message="原货位ID长度必须介于 0 和 30 之间")
	public String getOrigLocationId() {
		return origLocationId;
	}

	public void setOrigLocationId(String origLocationId) {
		this.origLocationId = origLocationId;
	}
	
	@Length(min=0, max=50, message="原货位长度必须介于 0 和 50 之间")
	public String getOrigLocationName() {
		return origLocationName;
	}

	public void setOrigLocationName(String origLocationName) {
		this.origLocationName = origLocationName;
	}
	
	@Length(min=0, max=30, message="目标货位ID长度必须介于 0 和 30 之间")
	public String getTargetLocationId() {
		return targetLocationId;
	}

	public void setTargetLocationId(String targetLocationId) {
		this.targetLocationId = targetLocationId;
	}
	
	@Length(min=0, max=50, message="目标货位长度必须介于 0 和 50 之间")
	public String getTargetLocationName() {
		return targetLocationName;
	}

	public void setTargetLocationName(String targetLocationName) {
		this.targetLocationName = targetLocationName;
	}
	
	@Length(min=0, max=50, message="参考单号长度必须介于 0 和 50 之间")
	public String getOrderNo() {
		return orderNo;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}
	
	@Length(min=0, max=11, message="原数量长度必须介于 0 和 11 之间")
	public String getOrigNum() {
		return origNum;
	}

	public void setOrigNum(String origNum) {
		this.origNum = origNum;
	}
	
	@Length(min=0, max=11, message="交接数量长度必须介于 0 和 11 之间")
	public String getTargetNum() {
		return targetNum;
	}

	public void setTargetNum(String targetNum) {
		this.targetNum = targetNum;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getDistrDate() {
		return distrDate;
	}

	public void setDistrDate(Date distrDate) {
		this.distrDate = distrDate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getReceiveDate() {
		return receiveDate;
	}

	public void setReceiveDate(Date receiveDate) {
		this.receiveDate = receiveDate;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getEndDate() {
		return endDate;
	}

	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}
	
	@Length(min=0, max=1, message="状态长度必须介于 0 和 1 之间")
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	
	@Length(min=0, max=30, message="创建人长度必须介于 0 和 30 之间")
	public String getCreateName() {
		return createName;
	}

	public void setCreateName(String createName) {
		this.createName = createName;
	}
	
	@Length(min=0, max=30, message="更新人长度必须介于 0 和 30 之间")
	public String getUpdateName() {
		return updateName;
	}

	public void setUpdateName(String updateName) {
		this.updateName = updateName;
	}
	
}